/**
 * @description: 获取url中的host/去除url中的参数
 * @param {string} url - 待处理的URL
 * @param {string} delParams - 需要删除的参数名称
 * @return {*}
 */
export const getProcessUrl = (url: string | undefined, delParams?: string[]): string | undefined => {
  if (!url || (url && url.trim().length === 0)) {
    return;
  }
  try {
    const urlObj = new URL(url);
    if (delParams && delParams.length > 0) {
      for (const item of delParams) {
        urlObj.searchParams.delete(item);
      }
      return urlObj.toString();
    } else {
      return urlObj.host;
    }
  } catch (error) {
    console.error('错误 URL:', error);
    return;
  }
};

/**
 * 从URL中获取指定名称的参数值
 * @param {string} name - 参数名称
 * @param {any} defaultValue - 默认值（可选）
 * @returns {string | null} - 参数值或null
 */
export const getUrlParameter = (name, defaultValue?) => {
  const query = window.location.search.substring(1);
  const vars = query.split('&');
  for (let i = 0; i < vars.length; i++) {
    const pair = vars[i].split('=');
    if (pair[0] == name) {
      return pair[1];
    }
  }
  return defaultValue == undefined ? null : defaultValue;
};
